/*
 *  Copyright 2011 Alexey Andreev.
 * 
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *  under the License.
 */
package org.xthl.core;

import java.util.ArrayList;
import java.util.List;
import org.xthl.core.view.BlockSight;

/**
 *
 * @author Alexey Andreev
 */
public class BlockSet implements BlockConsumer, BlockProvider {
    private List<BlockSight> blocks = new ArrayList<BlockSight>();
    
    private static BlockSight copy(BlockSight block) {
        BlockSight copy = new BlockSight();
        copy.setTitle(block.getTitle());
        copy.setView(block.getView());
        return copy;
    }
    
    @Override
    public void addBlock(BlockSight sight) {
        blocks.add(copy(sight));
    }

    @Override
    public List<BlockSight> getBlocks() {
        List<BlockSight> result = new ArrayList<BlockSight>();
        for (BlockSight block : blocks) {
            result.add(copy(block));
        }
        return result;
    }
}
